home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload Trio 2
/
Shareware Overload Trio Volume 2 (Chestnut CD-ROM).ISO
/
dir34
/
fill402.zip
/
FILL.DOC
< prev
next >
Wrap
Text File
|
1994-02-06
|
15KB
|
299 lines
FILL.DOC
02/06/94
The FILL program is designed to help you move or copy files off a hard disk
while reducing the amount of wasted space on the destination disks. Internally,
it does this by sorting the file names so the largest files are moved/copied
first. It then moves or copies whatever files can fit on the floppy, skipping
any that can't. Features:
* Can either move or copy the files to the resulting location
* Can go onto to multiple diskettes as desired, beeping if desired when
the next disk is expected
* Can move the files in file name order or any of standard ordering
categories
* Can be used to split up files which are too big to fit on a single disk
* Can create a status/transaction file for you, showing what was copied/moved
* Can label the output diskette, providing some patterns like sequence numbers
and dates which it will fill in for you
* Some times useful for network transfers where standard MOVE command doesn't
always work
* Can review and delete if desired any files which are already in the
output destination (e.g. already on the output diskette)
* Can reformat the whole disk if files are going to drive A or B
Some of the default values for this routine can be set using the CONFIGWS.EXE
program contained in FILLymm.ZIP.
Limits:
* Routine can only process the first 500 files in a given subdirectory. It
ignores the rest of them.
* Routine can only review for deletion the first 200 files in the output
location.
* Routine does not provide any cool write-error recovery. If it finds a DOS
error on the output drive, it just stops.
* Routine will not format the output diskette for you.
* Routine's continual testing for new diskette (/CONTINUAL) only works if the
diskette was formatted using DOS 4.0 or later. That's the version that
puts volume sequence numbers on the diskettes. One way to insure this if
you're using the newer versions of DOS is to do a quick-reformat of your
floppies whenever you'd normally do a DEL A:*.*. I do this with a QDR.BAT
command that has the following:
FORMAT %1 /Q /U /V:Bruce
I then say "QDR A:" or "QDR B:". It invokes an unconditional quick format
and applies a volume label on the diskette (to avoid the prompt). If the
diskette does not have a sequence number, DOS tells you it can't be
quick-formatted and asks if it can do the full format instead.
Syntax:
FILL [ source-filespec ] [ dest-drive: | dest-drive:\path\ ]
[ /MOVE | /COPY ] [ /PROMPT | /-PROMPT ]
[ /OVERWRITE | /-OVERWRITE | /OVERSKIP | /OVERASK ]
[ /Ox | /O-x ] [ /Xfilespec ]... [ /WIPE | /-WIPE ] [ /MULTI | /SINGLE ]
[ /SPLIT ] [ /LABEL=label [ /START=n ] ] [ /Fstatfile [ /S+ | /S- | S* ]
[ /CONTINUAL ] [ /BEEP | /-BEEP ] [ /Q ] [ /? ]
where:
"source-filespec" is the file specification for what you want to move. You can
specify a drive and path and file wildcards if necessary (e.g. "C:\TEMP\*.BAT")
but otherwise it defaults to your default drive and directory and takes "*.*".
Note that the program cannot handle any request for more than 500 files at a
time.
"dest-drive:" or dest-drive:\path" tells the routine what drive or path to move
the files to. In many cases, the routine doesn't really care whether the source
specification precedes or follows the destination specification. If either
parameter ends with a colon (e.g. "A:") or slash (e.g. "C:\QB45\"), the
routine will presume that's the destination specification and the other one must
be the source specification. If either parameter contains a wildcard, the
routine will presume that's the source specification and the other one must be
the destination specification. So "FILL A: *.BAS" is the same as "FILL *.BAS
A:". The default destination drive (dest-drive:, not dest-drive:\path) can be
set by using the CONFIGWS.EXE program. The original default is "A:".
"/MOVE" says to move the files instead of copying them. The default value for
this option can be set by using the CONFIGWS.EXE program. The original default
is "/MOVE".
"/COPY" says to copy the files instead of moving them. The default value for
this option can be set by using the CONFIGWS.EXE program. The original default
is "/MOVE".
"/PROMPT" says to prompt for each filename before moving it. The default value
for this option can be set by using the CONFIGWS.EXE program. The original
default is "/-PROMPT".
"/-PROMPT" says to not prompt for each file. The default value for this option
can be set by using the CONFIGWS.EXE program. The original default is
"/-PROMPT".
"/OVERWRITE" says to overwrite same-named files in the destination path. The
default value for this option can be set by using the CONFIGWS.EXE program. The
original default is "/OVERSKIP".
"/-OVERWRITE" says to abort if any same-named files are found in the destination
path. The default value for this option can be set by using the CONFIGWS.EXE
program. The original default is "/OVERSKIP".
"/OVERSKIP" says to skip any file that already exists in the destination path.
The counts aren't accurate in this case. The default value for this option can
be set by using the CONFIGWS.EXE program. The original default is "/OVERSKIP".
"/OVERASK" says to prompt if same-named files exist in the destination
directory. The default value for this option can be set by using the
CONFIGWS.EXE program. The original default is "/OVERSKIP".
"/Ox" and "/O-x" allow you to specify the copy order for the files. "x" can be
one of the following:
N = file name
D = file date and time
S = file size
If you precede the "x" with a dash ("-"), the sort will be done in reverse
order. Note that this parameter does not determine which files are copied; it
only determines what order they are actually copied. Since the order that the
file tends to show up in a DOS DIR listing is based on creation order, this
sequence may be relevant to how the files ultimately show up. The default value
for this option can be set by using the CONFIGWS.EXE program. The original
default is "/ON".
"/Xfilespec" says to exclude certain filespecs from being moved. You can
specify up to 10 exclusion parameters but each must have their own /Xfilespec
statement. For example, to move all files except those with a BAS extension,
you could say "FILL /X*.BAS".
"/WIPE" says that if the destination drive has files on it, prompt the user
for whether these files should be deleted or not. Six sub-options show up in
this case:
Do *NOT* delete the x file(s) Don't delete anything
List file(s) List the files but don't delete any of
them. The user will be reprompted for
these four options after pressing a key.
Select file(s) to delete List the files and allow the user to
select any to be deleted. Keys:
* Cursor keys -- move among list
* Space -- select that file
* Ctrl-Enter -- select all files
* Ctrl-bs -- deselect all files
* Enter -- process those tagged
* Esc -- skip processing
After pressing Enter, the selected files
will be deleted. You will then get the
standard four prompts again.
Delete all file(s) Delete all files in the specified
directory. Subdirectory files will not
be deleted.
Reformat the diskette If your output drive is either A or B,
the program will shell to DOS and execute
a "FORMAT d:" command. This (and the
next) sub-option will result in the
subdirectories being eliminated, something
which the prior sub-options don't do for
you.
Quick-reformat the diskette If your output drive is either A or B
and you're running under DOS 5.0 or higher,
the program will shell to DOS and execute
a "FORMAT d: /Q" command.
The default value for this option (/WIPE vs /-WIPE) can be set by using the
CONFIGWS.EXE program. The original default is "/-WIPE".
"/-WIPE" reverses /WIPE. The default value for this option can be set by using
the CONFIGWS.EXE program. The original default is "/-WIPE".
"/MULTI" says to go to a second disk if all of the files can't fit on the first
diskette. The default value for this option can be set by using the
CONFIGWS.EXE program. The original default is "/MULTI".
"/SINGLE" says process only one diskette at a time and to not prompt for the
next diskette once the first gets filled up. The default value for this option
can be set by using the CONFIGWS.EXE program. The original default is "/MULTI".
"/SPLIT" says to split up large files which otherwise would not be able to fit
onto the output disk. For example, /SPLIT is useful when you have a 1.8MB file
that you're trying to copy or move to a 1.2MB or 1.44MB diskette. Files are
split only if an empty diskette in the output destination would not be able to
support the file; it will not split up a 800KB file just because the 1.2MB
output diskette only has 600KB free. Files will be given the extensions of
.001, .002, etc until all necessary splitting is accomplished. To put them back
together again, use the DOS COPY copy with the /B option. For example:
COPY TEST.001/B+TEST.002/B TEST.ZIP
"/LABEL=label" specifies the volume label to be written to the output disk.
By default, the label is not changed. The label can be a quoted mixed-case
string. It can contain several replacable lowercase only parameters: "mm" is
replaced with the two-digit month, "dd" is replaced with the two-digit day, "yy"
is replaced with the two-digit year, and "n" or "nn" or "nnn" is replaced by the
sequence number of the disk. All numeric fields are padded to the left with
zeroes as necessary. If the current date is November 7, 1993:
/LABEL="BKyymmdd nn"
will label the first first "BK931107 01", the second disk "BK931107 02" etc.
Note that labels can be no longer than 11 characters in length. All characters
except the replacable parameters will be translated to uppercase characters.
"/START=n" specifies the first sequence number to use in place of "n", "nn", or
"nnn" in the /LABEL parameter. Defaults to "/START=1".
"/Fstatfile" specifies the name of a status file to be used. This status file
is a text file that reports on what's been processed by the program. If it
exists already, the status file is appended to, not overwritten. A sample of
some lines from the status file using the /S* option (which is not the default):
FILL results for /copy *.exe /ftest.txt /beep /wipe /s* /split
Being run on 11-07-1993 at 17:58:10
Label FileName Date Time Size Operation
TEST93 #01 AV.EXE 09/29/93 00:50:58 70,282 SKIP
TEST93 #01 BC.EXE 08/19/92 23:59:00 150,562 SKIP
TEST93 #01 BFIND.EXE 08/02/93 23:07:08 60,016 SKIP
TEST93 #01 VBDOS.EXE 08/19/92 23:59:00 555,520 COPY
BRUCE AV.EXE 09/29/93 00:50:58 70,282 SKIP
BRUCE BC.EXE 08/19/92 23:59:00 150,562 SKIP
BRUCE BFIND.EXE 08/02/93 23:07:08 60,016 SKIP
"/S+" specifies that the only files to be written to the status file are those
files that actually get copied/moved. This is the default.
"/S-" specifies that the only files to be written to the status file are those
files that did not get copied/moved. Since the skipping is determination is
done with each disk, the status file may show the same file name as "SKIP" over
and over again.
"/S*" specifies that the status report should contain all files copied/moved as
well as skipped. This can be a huge report.
"/CONTINUAL" is used if you want the routine to continually check your floppy
drive to see when a new diskette has been put in and continue once it recognizes
this has happened. The only time you'd have to press a key is if you want to
stop processing diskettes (in which case you'd press Escape). This option is
only available if you're using DOS 4.0 or higher and only works for disks that
have been formatted using DOS 4.0 or higher (it uses the serial number on the
disk in order to determine that the disk has been replaced).
"/BEEP" says to beep once the routine is done doing its thing (a high tone
followed by a low one). It will also beep whenever it's time to stick in a new
diskette (a low tone followed by a high one). The default value for this option
can be set by using the CONFIGWS.EXE program. The original default is "/BEEP".
"/-BEEP" says to not beep upon completion. The default value for this option
can be set by using the CONFIGWS.EXE program. The original default is "/BEEP".
"/Q" turns off the file-by-file status reporting.
"/?" or "/HELP" or "HELP" gives you the syntax of the command. All current
defaults that can overwritten by using the CONFIGWS.EXE routine are also shown.
Return codes:
FILL returns the following ERRORLEVEL codes:
0 = no problems, all files copied
1 = no problems, but some files skipped since /-MULTI
253 = had problems copying/moving the files
254 = no files found to copy/move
255 = syntax problems, or /? requested
Author:
This program was written by Bruce Guthrie of Wayne Software. It is free for use
and redistribution provided relevant documentation is kept with the program, no
changes are made to the program or documentation, and it is not bundled with
commercial programs or charged for separately. People who need to bundle it in
for-sale packages must pay a $50 registration fee to "Wayne Software" at the
following address.
Additional information about this and other Wayne Software programs can be found
in the file BRUCEymm.DOC which should be included in the original ZIP file.
("ymm" is replaced by the last digit of the year and the two digit month of the
release. BRUCE312.DOC came out in December 1993. This same naming convention
is used in naming the ZIP file that this program was included in.) Comments and
suggestions can also be sent to:
Bruce Guthrie
Wayne Software
113 Sheffield St.
Silver Spring, MD 20910
fax: (301) 588-8986
Foreign users: Please provide an Internet address in all correspondence.